Java 中 this 和 super 的用法总结
全部标签 关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我必须将Java8代码转换为JavaScript(一种方式,一生一次)。为了加快速度,我想尽可能地自动化,然后使用测试套件来解决所有遗留问题。我想知道Java8lambda和JavaScript(函数)之间的区别是什么?任何重要的不兼容性?
今天早上我遇到了一个tweetfromŠimeVidas他提出了以下在对象字面量中使用super的可能性:letA={run(){console.log('Aruns');}};letB={run(){super.run();}};Object.setPrototypeOf(B,A);B.run();//Aruns这行得通,而且分配B.__proto__=A;似乎也行得通,在Firefox和Chrome中都是如此。所以我想我可以用Object.create做同样的事情:letA={run(){console.log('Aruns');}};letB=Object.create(A);B
我有一个svg组,我在其上调用拖动函数。varcontainer=d3.select("#id");container.call(dragcontainer);vardragcontainer=d3.drag().on("start",function(){}).on("drag",function(d,i){//(d3.select(this)).select("rect");}).on("end",function(){});显然,d3.select(this)不返回容器,但是它们相似(通过属性检查),但不完全相同。为什么会这样?如何在被调用函数中访问container?
我喜欢Java8的流式API。有很多有用的中间和终端方法来转换和收集流。我说的是像distinct()这样的中间方法或像collect()这样的终端方法。我发现CollectorAPI特别有用,可以将流减少到深度分组映射。Java流API的javascript等价物是什么?我知道有map、filter和reduce等基本功能,但是没有找到javascriptnative提供的更通用的接口(interface)来查询或对集合中的数据进行分组。是否有一些生产就绪的库可以匹配JavaStreamingAPI? 最佳答案 java8stre
假设我有一个这样的函数:varf1=function(){returnthis;};console.log(f1.bind('abc')()==='abc');据我所知,f1.bind('abc')应该创建一个返回'abc'的新函数,所以我猜它的输出应该与console.log('abc'==='abc')这是真的,但现在输出是假的,我的猜测有什么问题吗? 最佳答案 在非严格模式下,原始值被包裹在对象中。所以,'abc'变成了newObject('abc')。在严格模式下,这不会发生。'usestrict';varf1=functi
我最近看到这种类型的react模式,其中使用this.state在渲染中设置状态:classShowMeextendsReact.Component{constructor(props){super(props);this.state={showButton:false,};}render(){if(this.props.show){this.state.showButton=true;//settingstateinrender!!}return(Showorhidebutton{this.state.showButton&&})}}这似乎是一种反模式。这会导致错误吗?不过它似乎工作
我写了下面的代码。它没有给我答案,而是输出NaN。我希望代码返回John和Mark的权重。请解释。'usescript';//DeclaringvariablesvarinfoJohn;varinfoMark;varbmiCalculator;varhigherBmi;bmiCalculator=function(height,mass){varcalculatedBmi;calculatedBmi=mass/(height*height);returncalculatedBmi;};infoJohn={name:'John',mass:85,height:110,bmi:bmiCal
确定浏览器中是否安装了SunJava插件的首选方法是什么? 最佳答案 javadeploymenttoolkitscriptsrc="http://java.com/js/deployJava.js"if(deployJava.versionCheck('1.6')){alert("1.6installed")} 关于java-浏览器Java插件检测,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q
寻找一个像swfobject这样的javascript类来嵌入java并在用户没有java或拒绝安全提示时有一个简单的回退。谢谢,乔希 最佳答案 您可以很容易地构建一个。像这样设置一个div:MessagetousersayingthattheyneedJavahere然后添加JavaPluginDetection(builder)到你的JavaScript。然后,如果返回true,则执行如下操作:document.getElementById("java-applet").innerHTML="stuffhere";
在尝试调试正在提交的内容时,我写了这个。是否可以提醒什么是正在提交?这里“this”指的是什么?我在警告框中收到对象,无法从中做出任何决定。:-) 最佳答案 在您的示例中,this是全局window对象。自己试试:结果为"function"(即全局函数)。或者尝试:结果为undefined(即它不指向表单元素)*。属性中"this"的值只会是以下两种情况之一:全局窗口对象元素本身唯一一次this指向元素本身是在intrinsiceventattribute中使用它时(以“on”为前缀的那些,例如“onclick”、“onload”等